package com.fcscs.ecms.gwt.client;

import java.util.List;

import com.fcscs.cservice.domain.MainMenuItem;
import com.fcscs.cservice.domain.model.MainMenuItemView;
import com.google.gwt.user.client.rpc.AsyncCallback;

public interface ECMSMainMenuServiceAsync {

	void createMainMenuItem(MainMenuItem mmi,
			AsyncCallback<MainMenuItem> callback);

	void deleteMainMenuItem(MainMenuItem mmi, AsyncCallback<Boolean> callback);

	void getMainMenuItem(long id, AsyncCallback<MainMenuItem> callback);

	void getMainMenuItemList(long orgId, long propId, long versionId,
			AsyncCallback<List<MainMenuItem>> callback);

	void getMainMenuItemList(long orgId, long propId, boolean isCurrent,
			AsyncCallback<List<MainMenuItem>> callback);

	void getMainMenuItemViewList(long orgId, long propId,
			AsyncCallback<List<MainMenuItemView>> callback);

	void isMainMenuItemTaken(long orgId, long propId, String menuType, Long id,
			long versionId, AsyncCallback<Boolean> callback);

	void permDeleteMainMenuItem(MainMenuItem mmi,
			AsyncCallback<Boolean> callback);

	void saveMainMenuItem(MainMenuItem mmi, AsyncCallback<MainMenuItem> callback);

	void saveMainMenuItemList(List<MainMenuItem> mmiList,
			AsyncCallback<List<MainMenuItem>> callback);

}
